package com.lan.test01;

import java.lang.reflect.Constructor;

public class Test02 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {
        Class clazz = Class.forName("com.lan.domain.Student");

        //返回所有公共构造方法对象的数组
        Constructor[] constructors = clazz.getConstructors();
        for (Constructor constructor : constructors) {
            System.out.println(constructor);
        }

        //返回所有构造方法对象的数组，不管公有私有
        Constructor[] declaredConstructors = clazz.getDeclaredConstructors();
        for (Constructor constructor : declaredConstructors) {
            System.out.println(constructor);
        }

        //返回无参构造的对象
        Constructor clazzConstructor = clazz.getConstructor();
        System.out.println(clazzConstructor);

        //返回有参构造的对象
        Constructor clazzConstructor1 = clazz.getConstructor(String.class,Integer.class,String.class);
        System.out.println(clazzConstructor1);

        //返回私有有参构造的对象
        Constructor clazzDeclaredConstructor = clazz.getDeclaredConstructor(String.class, Integer.class);
        System.out.println(clazzDeclaredConstructor);
    }
}
